#include <stdio.h>	/* printf */
#include <string.h>	/* strcpy */
#include "test_sharememory_comm.h"

#define WRITE_STRING "hello world!"

int main()
{
	int shmid = create_sharememory(SHARE_MEMORY_SIZE);
	if (shmid < 0) {
		printf("create share memory error\n");
		return -1;
	}

	/* 映射共享内存，第二个参数非空则映射到该地址，第三个参数0表示可读写、SHM_RDONLY表示只读 */
	char *pshm = shmat(shmid, NULL, 0);
	if (!pshm) {
		printf("link share memory error\n");
		return -1;
	}

	/* 向共享内存中写入内容；
	   共享内存不存在队列、先入先出或者缓存，它就是一块内存 */
	strcpy(pshm, WRITE_STRING);
	printf("server write: %s\n", WRITE_STRING);

	shmdt(pshm);	/* 解除共享内存的映射 */

	return 0;
}
